package cl.ccs.migracionbcmc.dao;


import cl.ccs.migracionbcmc.model.DatosPersona;
import cl.ccs.migracionbcmc.model.PersonaCertificado;
import cl.ccs.migracionbcmc.model.PersonaCertificadoEmitido;
import cl.ccs.migracionbcmc.model.VerificaCertificado;


public interface CertificadoDao {

    /**
     * @param rut
     * @param cCosto
     * @param login
     * @return
     * @throws Exception
     */
    public PersonaCertificado consultaCertificado(String rut,Integer cCosto, String login) throws Exception;

    /**
     * @param rutAfectado
     * @param corrNombre
     * @param rutSolicitante
     * @param cCosto
     * @param login
     * @return
     * @throws Exception
     */
    public PersonaCertificado consultaCertificadoPDF(String rutAfectado, Long corrNombre, String rutSolicitante, Integer cCosto,
                                                  String login) throws Exception;

    /**
     * @param codigo
     * @param login
     * @return
     * @throws Exception
     */
    public PersonaCertificado validaCertificadoPDF(String codigo) throws Exception;

    /**
     * @param rut
     * @return
     * @throws Exception
     */
    public DatosPersona consultaPersona(String rut) throws Exception;

    /**
     * @param rut
     * @param nombre
     * @param apPaterno
     * @param apMaterno
     * @throws Exception
     */
    public void addPersona(String rut, String nombre, String apPaterno, String apMaterno) throws Exception;

    /**
     * @param rut
     * @return
     * @throws Exception
     */
    public VerificaCertificado verificarCertificado(String rut) throws Exception;

    /**
     * @param rut
     * @return
     * @throws Exception
     */
    public PersonaCertificadoEmitido consultaCertificadosEmitidos(String rut) throws Exception;
}
